import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;
import javafx.scene.text.FontSmoothingType;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;

/**
 * @ClassName TextDemo
 * @Description
 * @Author wangss
 * @date 2020.06.13 17:07
 * @Version 1.0
 */
public class TextDemo extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        AnchorPane anchorPane = new AnchorPane();
        anchorPane.setStyle("-fx-background-color: #fff2f2");

        VBox vBox = new VBox(30d);
        vBox.setPrefWidth(800d);
        vBox.setPrefHeight(800d);
        vBox.setAlignment(Pos.CENTER);

        Text text = new Text("hello world");
        Font font = new Font("Courier", 25);
        text.setFont(font);

        Text text2 = new Text("hello world");
        Font font2 = new Font("Impact", 25);
        text2.setFont(font2);

        Text text3 = new Text("hello world");
        // 这里可以放字体文件
        Font font3 = Font.loadFont("file:/", 25);
        text3.setFont(font3);

        Font.getFamilies().forEach(System.out::println);

        Text text4 = new Text("hello world");
        Font font4 = new Font("Courier", 40);
        text4.setFont(font4);
        // 填充颜色
        text4.setFill(Paint.valueOf("#20B2AA"));
        // 描边颜色
        text4.setStroke(Paint.valueOf("#CD5C5C"));
        // 描边宽度
        text4.setStrokeWidth(2);
        // 是否抗锯齿
        text4.setSmooth(true);
        // 下划线
        text4.setUnderline(true);
        // 中间线
        text4.setStrikethrough(true);
        // 字体平滑
        text4.setFontSmoothingType(FontSmoothingType.LCD);

        Text text5 = new Text("hello world jlfjsfsldjfosdjfoisdlfjsdlf\nljsdofsodiufoenanljaldjfs");
        Font font5 = new Font("Courier", 25);
        text5.setFont(font5);
        text5.setTextAlignment(TextAlignment.LEFT);
        // 行间距
        text5.setLineSpacing(5);
        // 文本触发换行长度
        text5.setWrappingWidth(200d);

        // 这个方法的作用需要配合坐标使用，以什么点作为距上左的距离
//        text5.setTextOrigin(VPos.CENTER);

        vBox.getChildren().addAll(text, text2, text3, text4, text5);
        anchorPane.getChildren().addAll(vBox);
        Scene scene = new Scene(anchorPane);
        primaryStage.setScene(scene);
        primaryStage.setWidth(800d);
        primaryStage.setHeight(800d);
        primaryStage.setTitle("搜索功能");
        primaryStage.setResizable(false);
        primaryStage.show();
    }
}
